package sysinit

import (
	"beego_background_framework/utils"
	"reflect"
	"strconv"
)

//自定义模板函数

//对ID集合搜索，如果value存在集合里面的ID，就返回true
func ListIdSearch(list interface{}, value uint) bool {
	newSlice := utils.ToSlice(list)
	for i:=0;i<len(newSlice);i++{
		//通过反射来实现判断变量
		pp := reflect.ValueOf(newSlice[i])
		id := pp.Elem().FieldByName("Id").Uint()
		if uint(id) == value{
			return true
		}
	}
	return false
}

//判断某个字符串是否存在数组中
func ListInSlice(list []string,value interface{}) bool{

	switch value.(type) {
	case uint:
		value = strconv.Itoa(int(value.(uint)))
	case int:
		value = strconv.Itoa(value.(int))
	}
	for _,v := range list{
		if value == v{
			return true
		}
	}
	return false
}
